package com.lframework.xingyun.basedata.bo.coupon;

import com.lframework.starter.web.core.annotations.convert.EnumConvert;
import com.lframework.starter.web.core.bo.BaseBo;
import com.lframework.xingyun.basedata.bo.product.info.GetProductBo;
import com.lframework.xingyun.basedata.entity.Product;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

@Data
public class CouponProductSelectorBo extends BaseBo<Product> {

    /**
     * ID
     */
    @ApiModelProperty("ID")
    private String id;

    /**
     * 编号
     */
    @ApiModelProperty("编号")
    private String code;

    /**
     * 名称
     */
    @ApiModelProperty("名称")
    private String name;

    /**
     * 简称
     */
    @ApiModelProperty("简称")
    private String shortName;

    /**
     * SKU
     */
    @ApiModelProperty("SKU")
    private String skuCode;

    /**
     * 简码
     */
    @ApiModelProperty("简码")
    private String externalCode;

    /**
     * 分类ID
     */
    @ApiModelProperty("分类ID")
    private String categoryId;

    /**
     * 分类名称
     */
    @ApiModelProperty("分类名称")
    private String categoryName;

    /**
     * 品牌ID
     */
    @ApiModelProperty("品牌ID")
    private String brandId;

    /**
     * 品牌名称
     */
    @ApiModelProperty("品牌名称")
    private String brandName;

    /**
     * 重量（kg）
     */
    @ApiModelProperty("重量（kg）")
    private BigDecimal weight;

    /**
     * 体积（cm3）
     */
    @ApiModelProperty("体积（cm3）")
    private BigDecimal volume;

    /**
     * 进项税率（%）
     */
    @ApiModelProperty("进项税率（%）")
    private BigDecimal taxRate;

    /**
     * 销项税率（%）
     */
    @ApiModelProperty("销项税率（%）")
    private BigDecimal saleTaxRate;

    /**
     * 规格
     */
    @ApiModelProperty("规格")
    private String spec;

    /**
     * 单位
     */
    @ApiModelProperty("单位")
    private String unit;

    /**
     * 商品类型
     */
    @ApiModelProperty("商品类型")
    @EnumConvert
    private Integer productType;

    /**
     * 采购价
     */
    @ApiModelProperty("采购价")
    private BigDecimal purchasePrice;

    /**
     * 状态
     */
    @ApiModelProperty("状态")
    private Boolean available;

    /**
     * 属性
     */
    @ApiModelProperty("属性")
    private List<GetProductBo.PropertyBo> properties;

}
